#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
void aver_student(float x[][10]);//函数声明
void aver_subject(float x[][10]);//函数声明
void Max(float x[][10]);//函数声明
int main()
{
	int i = 0;
	int j = 0;
	float arr[5][10] = { 0 };
	for (i = 0; i < 5; i++)
	{
		printf("请输入科目%d的成绩:\n",i+1);
		for (j = 0; j < 10; j++)
		{
			scanf("%f", &arr[i][j]);
		}
	}
	aver_student(arr);
	aver_subject(arr);
	Max(arr);
	return 0;
}
void aver_student(float x[][10])//10个学生每人的平均成绩
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 10; i++)
	{
		float sum = 0;
		for (j = 0; j < 5; j++)
		{
			sum += x[j][i];
		}
		printf("第%d个学生的平均成绩为：%.2f\n", i + 1, sum / 5.0);
	}
}
void aver_subject(float x[][10])//每个科目的平均分
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 5; i++)
	{
		float sum = 0;
		for (j = 0; j < 10; j++)
		{
			sum += x[i][j];
		}
		printf("科目%d的平均分为：%.2f\n", i + 1, sum / 10.0);
	}
}
void Max(float x[][10])//求最高分以及对应的人和科目
{
	int i = 0;
	int j = 0;
	float max = x[0][0];
	for (i = 0; i < 5; i++)//找出最高分
	{
		for (j = 1; j < 10; j++)
		{
			if (max < x[i][j])
			{
				max = x[i][j];
			}
		}
	}
	for (i = 0; i < 5; i++)//找出最高分所对应的人和科目
	{
		for (j = 1; j < 10; j++)
		{
			if (max == x[i][j])
			{
				goto end;
			}
		}
	}
	end:printf("最高分为：%.2f；\n对应的学生为第%d号学生;\n对应的科目为：科目%d\n", max, j + 1, i + 1);
}